export default {
  extends: [
    'stylelint-config-standard',
    'stylelint-config-standard-scss',
    'stylelint-config-recommended-vue/scss',
    'stylelint-config-recess-order',
    'stylelint-config-tailwindcss/scss',
  ],
  processors: [],
  defaultSeverity: 'error',
  plugins: [],
  rules: {
    'alpha-value-notation': null,
    'at-rule-no-unknown': null,
    'at-rule-no-vendor-prefix': true,
    'block-no-empty': true,
    'color-function-notation': ['legacy', { ignore: ['with-var-inside'] }],
    'color-no-invalid-hex': true,
    'comment-empty-line-before': [
      'always',
      {
        except: ['first-nested'],
        ignore: ['after-comment', 'stylelint-commands'],
      },
    ],
    'comment-no-empty': true,
    'custom-property-pattern': '^[a-z]([a-z\\d-]*[a-z\\d])?$',
    'declaration-block-no-duplicate-properties': true,
    'declaration-block-no-redundant-longhand-properties': true,
    'declaration-block-no-shorthand-property-overrides': true,
    'font-family-name-quotes': 'always-where-required',
    'font-family-no-duplicate-names': true,
    'function-calc-no-unspaced-operator': true,
    'function-linear-gradient-no-nonstandard-direction': true,
    'keyframe-declaration-no-important': true,
    'keyframes-name-pattern': '[^A-Z_]',
    'max-nesting-depth': 5,
    'media-feature-name-no-vendor-prefix': true,
    'media-feature-range-notation': 'prefix',
    'no-descending-specificity': [null],
    'no-empty-source': true,
    'no-duplicate-at-import-rules': true,
    'no-duplicate-selectors': true,
    'no-unknown-animations': true,
    'property-no-unknown': [
      true,
      {
        ignoreProperties: ['font-smoothing'],
      },
    ],
    'property-no-vendor-prefix': [
      true,
      {
        ignoreProperties: ['box-orient', 'mask'],
      },
    ],
    'selector-attribute-quotes': 'always',
    'selector-class-pattern': [
      '^[a-z]([a-z\\d_-]*[a-z\\d])?$',
      {
        resolveNestedSelectors: true,
      },
    ],
    'selector-no-vendor-prefix': true,
    'selector-pseudo-class-no-unknown': [
      true,
      {
        ignorePseudoClasses: ['deep'],
      },
    ],
    'selector-pseudo-element-no-unknown': [
      true,
      {
        ignorePseudoElements: ['v-deep'],
      },
    ],
    'selector-type-no-unknown': true,
    'shorthand-property-no-redundant-values': true,
    'string-no-newline': true,
    'unit-no-unknown': true,
    'value-keyword-case': 'lower',
    'value-no-vendor-prefix': [
      true,
      {
        ignoreValues: ['line-clamp'],
      },
    ],
    'scss/at-extend-no-missing-placeholder': true,
    'scss/at-function-pattern': '^[a-z]([a-z\\d-]*[a-z\\d])?$',
    'scss/at-if-no-null': true,
    'scss/load-no-partial-leading-underscore': true,
    'scss/load-partial-extension': 'never',
    'scss/at-mixin-argumentless-call-parentheses': 'never',
    'scss/at-mixin-parentheses-space-before': 'never',
    'scss/at-mixin-pattern': '^[a-z]([a-z\\d-]*[a-z\\d])?$',
    'scss/at-rule-no-unknown': [
      true,
      {
        ignoreAtRules: ['tailwind', 'apply', 'use'],
      },
    ],
    'scss/dimension-no-non-numeric-values': true,
    'scss/dollar-variable-colon-space-after': 'always',
    'scss/dollar-variable-colon-space-before': 'never',
    'scss/dollar-variable-pattern': '^[a-z]([a-z\\d-]*[a-z\\d])?$',
    'scss/no-duplicate-mixins': true,
    'scss/percent-placeholder-pattern': '^[a-z]([a-z\\d-]*[a-z\\d])?$',
    'scss/selector-no-redundant-nesting-selector': true,
  },
}
